home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / bbintro.lha / BootIntro1.s / Booter_wS.S < prev   
Encoding:
Text File  |  1980-01-01  |  10.7 KB  |  526 lines

  1. **************************************
  2. *            Alpha Flight            *
  3. *     presents BTC`s first Intro     *
  4. *                                    *
  5. * Coding:   BTC/Arcadia/Alpha Flight *
  6. * Muzak:    Thrust                   *
  7. * Charsets: Knigh Hawks              *
  8. *           BTC                      *
  9. *           BTC                      *
  10. *                                    *
  11. *       Platinium Greetings to       *
  12. *      all Members of the World      *
  13. *               ruling               *
  14. *            Alpha Flight            *
  15. *                                    *
  16. *       Write to : PLK 073908 C      *
  17. *        5060 Berg.Gladbach2         *
  18. *                                    *
  19. *        Load Music to $60000        *
  20. *  Load `AlphaFlight1` to Bitplane   *
  21. *                                    *
  22. * Signed: BTC                        *
  23. **************************************
  24.  
  25. org    $30000
  26. load    $30000
  27. s:
  28. lea    $50000,a0
  29. lea    $60000,a1
  30. clear:
  31. clr.l    (a0)+
  32. cmp.l    a0,a1
  33. bne    clear
  34.  
  35. bsr    unpack
  36.  
  37. move.l    $04,a6
  38. lea    gfxname,a1
  39. jsr    -408(a6)
  40. jsr    -132(a6)
  41. move.l    d0,gfxbase
  42. move.l    d0,a0
  43. move.l    50(a0),oldclist
  44. move.l    #newclist,50(a0)
  45. move.l    gfxbase,a6
  46. move.l    $6c,oldirq+2
  47. move.l    #newirq,$6c
  48. wait:
  49. btst    #6,$bfe001
  50. bne.s    wait
  51. move.l    oldirq+2,$6c
  52. move.l    gfxbase,a0
  53. move.l    oldclist,50(a0)
  54. move.l    $04,a6
  55. move.l    gfxbase,a1
  56. jsr    -414(a6)
  57. jsr    -138(a6)
  58. rts
  59.  
  60. newirq:
  61. movem.l    d0-d7/a0-a6,-(sp)
  62.  
  63. loeschen:
  64. move.b    #55,d0
  65. lea    schwfarb,a0
  66. loop:
  67. clr.l    (a0)+
  68. sub.b    #1,d0
  69. bne    loop
  70.  
  71. move.l    zeigersinusdat,a0
  72. move.l    a0,a6
  73. lea    balken,a1
  74. lea    schwfarb,a2
  75. clr.b    d0
  76. move.l    (a0)+,d1
  77. cmp.l    #$ffff,d1
  78. bne    nextz
  79. lea    sinusdat,a0
  80. clr.l    d1
  81. nextz:
  82. mulu    #2,d1
  83. add.l    d1,a2
  84. move.l    a0,zeigersinusdat
  85. move.l    a0,a5
  86. bewegen:
  87. move.w    (a1),(a2)
  88. addq.l    #$2,a1
  89. addq.l    #$2,a2
  90. addq.b    #$1,d0
  91. cmp.b    #7,d0        ;btc3
  92. bne    bewegen
  93.  
  94. clr.b    d6
  95. mehr:
  96. add.l    #16,a6
  97. lea    balken,a1    ;btc4
  98. lea    schwfarb,a2
  99. clr.b    d0
  100. move.l    (a6),d1
  101. cmp.l    #$ffff,d1
  102. bne    nextz2
  103. clr.l    d1
  104. nextz2:
  105. mulu    #$2,d1
  106. add.l    d1,a2
  107. bewegen2:
  108. move.w    (a1),(a2)
  109. addq.l    #$2,a1
  110. addq.l    #$2,a2
  111. addq.b    #$1,d0
  112. cmp.b    #7,d0        ;btc5
  113. bne    bewegen2
  114. add.b    #1,d6
  115. cmp.b    #7,d6        ;btc6 
  116. bne    mehr
  117.  
  118. lea    sinusbalken,a0
  119. lea    Farb_und_wabbel,a4
  120. lea    bitwabbel,a2
  121. lea    wabbel,a3
  122.  
  123. move.w    #$34,d5
  124. scrolligselbst:
  125. move.w    (a0)+,(a4)
  126. move.w    (a2)+,(a3)
  127. add.l    #12,a4
  128. add.l    #12,a3
  129. sub.w    #$1,d5
  130. bne    scrolligselbst
  131.  
  132. addq.b    #$1,counter
  133. cmp.b    #$2,counter
  134. bne    exit
  135. clr.b    counter
  136.  
  137.  
  138. move.w    sinusbalken,d0
  139. lea    sinusbalken,a0
  140. lea    lastsinus,a1
  141. clr.b    d1
  142. move.w    bitwabbel,d3
  143. lea    bitwabbel,a2
  144. lea    lastbit,a3
  145.  
  146. scroll:
  147. move.w    2(a0),(a0)
  148. move.w    2(a2),(a2)
  149. addq.l    #$2,a0
  150. addq.l    #$2,a2
  151. addq.b    #$1,d1
  152. cmp.b    #56,d1
  153. bne    scroll
  154. move.w    d0,(a1)
  155. move.w    d3,(a3)
  156.  
  157. exit:
  158.  
  159. cmp.w    #$1e78,wert1
  160. bcs    play
  161. lea    c1,a0
  162. lea    c2,a1
  163. lea    c3,a2
  164. lea    c4,a3
  165. lea    c5,a4
  166. move.w    #$333,(a0)
  167. move.w    #$666,(a1)
  168. move.w    #$999,(a2)
  169. move.w    #$ccc,(a3)
  170. move.w    #$eee,(a4)
  171. bra    play2
  172.  
  173. play:
  174. lea    c1,a0
  175. lea    c2,a1
  176. lea    c3,a2
  177. lea    c4,a3
  178. lea    c5,a4
  179. move.w    #$eee,(a0)
  180. move.w    #$eee,(a1)
  181. move.w    #$eee,(a2)
  182. move.w    #$eee,(a3)
  183. move.w    #$eee,(a4)
  184.  
  185. play2:
  186.  
  187. move.w    wert1,d0
  188. move.w    wert2,d1
  189. move.w    wert3,d3
  190. wait60:
  191. cmp.b    #$60,$dff006
  192. bne    wait60
  193. move.w    d0,$dff0e2
  194. move.w    d1,$dff0e6
  195. move.w    d3,$dff0ea
  196. move.l    pointer,a0
  197. move.w    (a0)+,d0
  198. cmp.w    #$ffff,d0
  199. bne    next
  200. clr.w    d0
  201. lea    gfxtab,a0
  202. next:
  203. move.l    a0,pointer
  204. add.w    d0,wert1
  205. add.w    d0,wert2
  206. add.w    d0,wert3
  207.  
  208. move.b    #$6f,d0
  209. lea    schwfarb,a0
  210. wait5b:
  211. cmp.b    $dff006,d0
  212. bne    wait5b
  213. move.w    (a0)+,$dff180
  214. addq.b    #$1,d0
  215. cmp.b    #$de,d0
  216. bne    wait5b
  217. waitda:
  218. cmp.b    $dff006,d0
  219. bne    waitda
  220. move.w    #$0,$dff180
  221.  
  222. move.w    #$f2,d0
  223. lea    lastsinus,a0
  224. lea    bitwabbel,a1
  225. waitf2:
  226. cmp.b    $dff006,d0
  227. bne    waitf2
  228. move.w    -(a0),$dff180
  229. move.w    (a1)+,$dff102
  230. addq.b    #$1,d0
  231. cmp.b    #$26,d0
  232. bne    waitf2
  233.  
  234. movem.l    (sp)+,d0-d7/a0-a6
  235. oldirq:
  236. jmp    $00000000
  237.  
  238. newclist:
  239. dc.w    $008e,$2081,$0090,$30c1,$0092,$0038,$0094,$00d0
  240. dc.w    $0102,$0000,$0104,$0000,$0108,$0050,$010a,$0050
  241. dc.w    $0100,$3200,$0180,$0000,$0182,$0eee
  242. dc.w    $00e0,$0005,$00e2,$0000,$00e4,$0005,$00e6,$0028
  243. dc.w    $00e8,$0005,$00ea,$0050
  244. dc.w    $0184,$0ccc,$0186,$0aaa,$0188,$0888,$018a,$0666
  245. dc.w    $018c,$0444,$018e,$0332,$120,0,$122,0,$124,0,$126,0
  246. dc.w    $128,0,$12a,0,$12c,0,$12d,0,$130,0,$132,0,$134,0,$136,0
  247. dc.w    $138,0,$13a,0,$13c,0,$13e,0
  248. dc.w    $1e11,$fffe,$0180,3
  249. dc.w    $1f11,$fffe,$0180,4
  250. dc.w    $2011,$fffe,$0180,5
  251. dc.w    $2111,$fffe,$0180,0
  252. dc.w    $2211,$fffe,$0180
  253. Farb_und_Wabbel:
  254. dc.w    $400
  255. wabbelwert:
  256. dc.w    $102
  257. wabbel:
  258. dc.w    0
  259. dc.w    $2311,$fffe,$0180,$400,$102,0
  260. dc.w    $2411,$fffe,$0180,$400,$102,0
  261. dc.w    $2511,$fffe,$0180,$400,$102,0
  262. dc.w    $2611,$fffe,$0180,$400,$102,0
  263. dc.w    $2711,$fffe,$0180,$400,$102,0
  264. dc.w    $2811,$fffe,$0180,$400,$102,0
  265. dc.w    $2911,$fffe,$0180,$400,$102,0
  266. dc.w    $2a11,$fffe,$0180,$400,$102,0
  267. dc.w    $2b11,$fffe,$0180,$400,$102,0
  268. dc.w    $2c11,$fffe,$0180,$400,$102,0
  269. dc.w    $2d11,$fffe,$0180,$400,$102,0
  270. dc.w    $2e11,$fffe,$0180,$400,$102,0
  271. dc.w    $2f11,$fffe,$0180,$400,$102,0
  272. dc.w    $3011,$fffe,$0180,$400,$102,0
  273. dc.w    $3111,$fffe,$0180,$400,$102,0
  274. dc.w    $3211,$fffe,$0180,$400,$102,0
  275. dc.w    $3311,$fffe,$0180,$400,$102,0
  276. dc.w    $3411,$fffe,$0180,$400,$102,0
  277. dc.w    $3511,$fffe,$0180,$400,$102,0
  278. dc.w    $3611,$fffe,$0180,$400,$102,0
  279. dc.w    $3711,$fffe,$0180,$400,$102,0
  280. dc.w    $3811,$fffe,$0180,$400,$102,0
  281. dc.w    $3911,$fffe,$0180,$400,$102,0
  282. dc.w    $3a11,$fffe,$0180,$400,$102,0
  283. dc.w    $3b11,$fffe,$0180,$400,$102,0
  284. dc.w    $3c11,$fffe,$0180,$400,$102,0
  285. dc.w    $3d11,$fffe,$0180,$400,$102,0
  286. dc.w    $3e11,$fffe,$0180,$400,$102,0
  287. dc.w    $3f11,$fffe,$0180,$400,$102,0
  288. dc.w    $4011,$fffe,$0180,$400,$102,0
  289. dc.w    $4111,$fffe,$0180,$400,$102,0
  290. dc.w    $4211,$fffe,$0180,$400,$102,0
  291. dc.w    $4311,$fffe,$0180,$400,$102,0
  292. dc.w    $4411,$fffe,$0180,$400,$102,0
  293. dc.w    $4511,$fffe,$0180,$400,$102,0
  294. dc.w    $4611,$fffe,$0180,$400,$102,0
  295. dc.w    $4711,$fffe,$0180,$400,$102,0
  296. dc.w    $4811,$fffe,$0180,$400,$102,0
  297. dc.w    $4911,$fffe,$0180,$400,$102,0
  298. dc.w    $4a11,$fffe,$0180,$400,$102,0
  299. dc.w    $4b11,$fffe,$0180,$400,$102,0
  300. dc.w    $4c11,$fffe,$0180,$400,$102,0
  301. dc.w    $4d11,$fffe,$0180,$400,$102,0
  302. dc.w    $4e11,$fffe,$0180,$400,$102,0
  303. dc.w    $4f11,$fffe,$0180,$400,$102,0
  304. dc.w    $5011,$fffe,$0180,$400,$102,0
  305. dc.w    $5111,$fffe,$0180,$400,$102,0
  306. dc.w    $5211,$fffe,$0180,$400,$102,0
  307. dc.w    $5311,$fffe,$0180,$400,$102,0
  308. dc.w    $5411,$fffe,$0180,$400,$102,0
  309. dc.w    $5511,$fffe,$0180,$400,$102,0
  310.  
  311. dc.w    $5611,$fffe,$0180,0,$00e2,$f000,$00e6,$f000
  312. dc.w    $00ea,$f000
  313. dc.w    $5711,$fffe,$0180,$05,$0102,0
  314. dc.w    $5811,$fffe,$0180,$04
  315. dc.w    $5911,$fffe,$0180,$03
  316. dc.w    $5a11,$fffe,$0180,$0
  317. dc.w    $6011,$fffe,$0182
  318. c1:
  319. dc.w    $0333
  320. dc.w    $6111,$fffe,$0182
  321. c2:
  322. dc.w    $0666
  323. dc.w    $6211,$fffe,$0182
  324. c3:
  325. dc.w    $0999
  326. dc.w    $6311,$fffe,$0182
  327. c4:
  328. dc.w    $0ccc
  329. dc.w    $6411,$fffe,$0182
  330. c5:
  331. dc.w    $0eee
  332.  
  333. dc.w    $e411,$fffe,$0182,$0ccc
  334. dc.w    $e511,$fffe,$0182,$0999
  335. dc.w    $e611,$fffe,$0182,$0666
  336. dc.w    $e711,$fffe,$0182,$0333
  337. dc.w    $e811,$fffe,$00e2,$f000,$00e6,$f000,$00ea,$f000,$0182,$0eee
  338. dc.w    $ee11,$fffe,$0180,3
  339. dc.w    $ef11,$fffe,$0180,4
  340. dc.w    $f011,$fffe,$00e2,$0000,$00e6,$0028,$00ea,$0050,$180,$5
  341. dc.w    $f111,$fffe,$0180,0
  342. dc.w    $ffd5,$fffe,$0190,0,$190,0,
  343. dc.w    $2611,$fffe,$180,0
  344. dc.w    $2711,$fffe,$0180,$5,$00e2,$f000,$00e6,$f000,$00ea,$f000
  345. dc.w    $2811,$fffe,$0180,$4
  346. dc.w    $2911,$fffe,$0180,3
  347. dc.w    $2a11,$fffe,$0180,0
  348. dc.w    $ffff,$fffe
  349.  
  350.  
  351.  
  352. even
  353. zeiger:
  354. dc.l    0
  355. oldclist:
  356. dc.l    0
  357. gfxbase:
  358. dc.l    0
  359. gfxname:
  360. dc.b    "graphics.library",0
  361. even
  362.  
  363. unpack:    lea    bitplane,a0    ;Adress of Compacted Picture
  364.     lea    $50000,a1    ;Adress for the de-pressed Picture
  365.     add.l    #12,a0
  366.     move.l    a0,bmhdchunk    ;'BMHD' Chunk-Adress
  367.     move.l    4(a0),d0
  368.     add.l    d0,a0
  369.     add.l    #8,a0
  370.     move.l    a0,cmapchunk    ;'CMAP' Chunk-Adress
  371.  
  372. iff1:    cmp.l    #$424f4459,(a0)
  373.     beq    iff0
  374.     add.l    #2,a0
  375.     bra    iff1
  376.  
  377. iff0:    move.l    a0,bodychunk    ; 'BODY' Chunk-Adress
  378.     move.l    4(a0),d0    ; Anzahl Bytes
  379.     add.l    #1,d0
  380.     and.l    #$fffffffe,d0
  381.  
  382.     add.l    #8,a0        ; Pointer to first Byte
  383.  
  384. iff4:    clr.l    d2
  385.     move.b    (a0)+,d2
  386.     bmi    iff6
  387.  
  388. iff5:    move.b    (a0)+,(a1)+
  389.     subi.l    #1,d0
  390.     subi.b    #1,d2
  391.     bpl    iff5
  392.     bra    iff7
  393.     
  394. iff6:    neg.b    d2
  395.     beq    iff7
  396.  
  397. iff61:    move.b    (a0),(a1)+
  398.     subi.b    #1,d2
  399.     bpl    iff61
  400.     subi.l    #1,d0
  401.     add.l    #1,a0
  402.  
  403. iff7:    subi.l    #1,d0
  404.     bmi    iff8
  405.     beq    iff8
  406.     bra    iff4
  407.  
  408. iff8:    rts
  409.  
  410. bmhdchunk:    
  411.     dc.l    0
  412. cmapchunk:
  413.     dc.l    0
  414. bodychunk:
  415.     dc.l    0
  416.  
  417. wert1:
  418. dc.w    0
  419. wert2:
  420. dc.w    $28
  421. wert3:
  422. dc.w    $50
  423. gfxtab:            ;btc8
  424. blk.w    100,0    
  425. blk.w    100,$78
  426. blk.w    100,0
  427. blk.w    90,$78
  428. blk.w    300,0
  429. blk.w    76,$78
  430. blk.w    200,0
  431. blk.w    88,-[3*$78]
  432. blk.w    2,-$78
  433. blk.w    200,0
  434. dc.w    $ffff
  435. pointer:
  436. dc.l    gfxtab
  437. sinusbalken:    ;btc9
  438. dc.w    $300,$400,$500,0,0,0,0,$300,$400,$500,0,0,0,0
  439. dc.w    $300,$400,$500,0,0,0,0,$300,$400,$500,0,0,0,0
  440. dc.w    $300,$400,$500,0,0,0,0,$300,$400,$500,0,0,0,0
  441. dc.w    $300,$400,$500,0,0,0,0,$300,$400,$500,0,0,0
  442. lastsinus:
  443. dc.w    0
  444. bitwabbel:    ;btc10
  445. dc.w    0,0,0,0,$11,$11,$22,$22,$33,$44,$55,$55,$66
  446. dc.w    $77,$88,$99,$99,$aa,$bb,$cc,$cc,$dd,$dd,$ee,$ee
  447. dc.w    $ee,$ff,$ff,$ff,$ee,$ee,$ee,$dd,$dd,$cc,$cc,$bb
  448. dc.w    $aa,$99,$99,$88,$77,$66,$55,$55,$44,$33,$22,$22,$11
  449. dc.w    $11,$0,0,0,0
  450. lastbit:
  451. dc.w    0
  452. counter:
  453. dc.b    0
  454. even
  455. schwfarb:
  456. blk.w    130,0
  457.  
  458. balken:        ;btc11
  459. dc.w    $555,$777,$999,$ccc,$999,$777,$555
  460.  
  461. sinusdat:
  462. dc.l    0,0,0,0,0,0,0,0,0,1,2,2,3,4,6,7,8,$a,$b,$d,$e,$10,$12
  463. dc.l    $14,$16,$18,$1a,$1d,$1f,$21,$24,$26,$29,$2b,$2e,$30    
  464. dc.l    $33,$35,$37,$3a,$3c,$3f,$41,$44,$46,$48,$4b,$4d,$4f,$51,$53
  465. dc.l    $55,$57,$58,$5a,$5b,$5d,$5e,$5f,$61,$62,$63,$64,$65,$65,$65
  466. dc.l    $65,$65,$66,$65,$65,$65,$65,$65,$64,$63,$62,$61,$5f,$5e
  467. dc.l    $5d,$5b,$5a,$58,$57,$55,$53,$51,$4f,$4d,$4b,$48,$46,$44
  468. dc.l    $41,$3f,$3c,$3a,$37,$35,$32,$30,$2e,$2b,$29,$26,$24,$21
  469. dc.l    $1f,$1d,$1a,$18,$16,$14,$12,$10,$e,$d,$b,$a,8,7,6,4,3,2,2
  470. dc.l    1,0,0,0,0,$ffff
  471. dc.l    0,0,0,0,0,0,0,0,0,1,2,2,3,4,6,7,8,$a,$b,$d,$e,$10,$12
  472. dc.l    $14,$16,$18,$1a,$1d,$1f,$21,$24,$26,$29,$2b,$2e,$30    
  473. dc.l    $33,$35,$37,$3a,$3c,$3f,$41,$44,$48,$4b,$4d,$4f,$51,$53
  474. dc.l    $55,$57,$58,$5a,$5b,$5d,$5e,$5f,$61,$62,$63,$64,$65,$65
  475. dc.l    $65,$65,$66,$65,$65,$65,$65,$65,$64,$63,$62,$61,$5f,$5e
  476. dc.l    $5d,$5b,$5a,$58,$57,$55,$53,$51,$4f,$4d,$4b,$48,$46,$44
  477.  
  478. even
  479. zeigersinusdat:
  480. dc.l    sinusdat
  481. *****************************************
  482. * And now it comes...            *
  483. * The Instructions for this Intro    *
  484. * When you see a command called        *
  485. * BTC and there`s a number at the    *
  486. * end (e.g. BTC1) just type into    *
  487. * your Seka lBTC and the number        *
  488. * (e.g. lBTC1) then press `l`        *
  489. * for the second time and you will    *
  490. * see the comment....            *
  491. * Hope you understood this !!!        *
  492. *                    *
  493. * btc2:This is the init-routine of    *
  494. * D.O.C`s playroutine6 (ST6)        *
  495. * btc3:Anzahl der Zeilen fuer letzten    *
  496. *      Stripe !!!            *
  497. * btc4:Musst du weglassen wenn du    *
  498. *      stripes mit verschiedenen        *
  499. *      Farben haben willst (zusaetzlich *
  500. *      noch editieren (bei btc11)    *
  501. * btc5:Anzahl der Zeilen fuer einen    *
  502. *      Stripe (1.,2.,3.,...)        *
  503. * btc6:Anzahl der gesammten Stripes -1    *
  504. * btc7:Play Sound.... (D.O.C)        *
  505. * btc8:Werte fuer das Gfx-Scrolling    *
  506. *      $78  = 1 nach unten        *
  507. *      -$78 = 1 nach oben        *
  508. *      $0   = stehen bleiben        *
  509. * btc9:Farben fuer Farbscrolling    *
  510. * btc10:Werte fuer Wabbeln        *
  511. * btc11:Farben fuer den (die Stripes)    *
  512. *       Editieren wenn mehrere Stripes    *
  513. *       mit versch. Farben        *
  514. * I think that was all !!!        *
  515. * Die Routinen sind schon sehr alt    *
  516. * und deshalb schon ueberholt...    *
  517. * es war immerhin mein erstes intro    *
  518. *                    *
  519. * Ciao                    *
  520. *                    *
  521. *****************************************
  522. bitplane:
  523. blk.b    9202,0
  524. allend:
  525.  
  526.